package hcn.protocol.ods;

import ctd.util.annotation.DicMapping;
import ctd.util.xml.jaxb.DateTimeAdapter;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import java.io.Serializable;
import java.util.Date;

/**
 * @author chase
 * @Title: hcn-web
 * @Package hcn.protocol.ods
 * @Description: 预约挂号
 * @date 2016/7/18 17:09
 */
@XmlRootElement(name = "regPrepare")
public class RegPrepareBean implements Serializable {
    private String orgId;//云端机构ID
    private String localDoctorId;//医生工号
    private String regDeptId;//挂号科室代码
    @DicMapping(dic = "cardTypeForReg&hcn-mpi-dictionary-cardType")
    private String cardType;//卡类型
    private String cardNo;//卡号
    private String cardSource;//发卡来源

    @DicMapping(dic = "certificateType&hcn-mpi-dictionary-certificateType")
    private String identityType;//证件类型
    private String identityNo;//证件号码
    private String nationnality;

    private String userCardType;//预约人就诊卡类型
    private String userCardNo;//预约人就诊卡卡号
    private String userCardSource; //预约人发卡来源
    @DicMapping(dic = "certificateType&hcn-mpi-dictionary-certificateType")
    private String userIdentityType;//预约人证件类型
    private String userIdentityNo;//预约人证件号码
    private String userNationnality; //预约人国籍

    private String regSex;//性别
    private String regName;//姓名

    private String seqId;//门诊排班代码
    private Date workDate;//工作日期
    private Date startDt;//起始时间
    private Date endDt;//终止时间
    private String regSourceId;//号源代码
    private String regRecordId;//预约记录代码

    private String workId;//号源Id
    private String regPhoneNo;//联系方式


    private String clinicFlag;//院内就诊标志
    private Date clinicDt;//院内就诊时间
    private String pickFlag;//院内取号标志
    private Date pickDt;//院内取号时间
    private String status;//状态
    private String regType;//预约方式
    @DicMapping(dic = "planTime&hcn-base-dictionary-HCN_outpatientSchedulingService")
    private String planTime;//排班班次
    private String regWay;//工作日期
    private String regUser;//预约用户
    private String regPwd;//预约密码
    private Date regDt; //产生预约时间
    private String source; //数据来源

    @XmlElement
    public String getOrgId() {
        return orgId;
    }

    public void setOrgId(String orgId) {
        this.orgId = orgId;
    }

    @XmlElement
    public String getLocalDoctorId() {
        return localDoctorId;
    }

    public void setLocalDoctorId(String localDoctorId) {
        this.localDoctorId = localDoctorId;
    }

    @XmlElement
    public String getRegDeptId() {
        return regDeptId;
    }

    public void setRegDeptId(String regDeptId) {
        this.regDeptId = regDeptId;
    }

    @XmlElement
    public String getCardType() {
        return cardType;
    }

    public void setCardType(String cardType) {
        this.cardType = cardType;
    }

    @XmlElement
    public String getCardNo() {
        return cardNo;
    }

    public void setCardNo(String cardNo) {
        this.cardNo = cardNo;
    }

    @XmlElement
    public String getIdentityType() {
        return identityType;
    }

    public void setIdentityType(String identityType) {
        this.identityType = identityType;
    }

    @XmlElement
    public String getIdentityNo() {
        return identityNo;
    }

    public void setIdentityNo(String identityNo) {
        this.identityNo = identityNo;
    }

    @XmlElement
    public String getRegSex() {
        return regSex;
    }

    public void setRegSex(String regSex) {
        this.regSex = regSex;
    }

    @XmlElement
    public String getRegName() {
        return regName;
    }

    public void setRegName(String regName) {
        this.regName = regName;
    }

    @XmlElement
    public String getSeqId() {
        return seqId;
    }

    public void setSeqId(String seqId) {
        this.seqId = seqId;
    }

    @XmlElement
    public Date getWorkDate() {
        return workDate;
    }

    public void setWorkDate(Date workDate) {
        this.workDate = workDate;
    }

    @XmlElement
    public Date getStartDt() {
        return startDt;
    }

    public void setStartDt(Date startDt) {
        this.startDt = startDt;
    }

    @XmlElement
    public Date getEndDt() {
        return endDt;
    }

    public void setEndDt(Date endDt) {
        this.endDt = endDt;
    }

    @XmlElement
    public String getRegSourceId() {
        return regSourceId;
    }

    public void setRegSourceId(String regSourceId) {
        this.regSourceId = regSourceId;
    }

    @XmlElement
    public String getClinicFlag() {
        return clinicFlag;
    }

    public void setClinicFlag(String clinicFlag) {
        this.clinicFlag = clinicFlag;
    }

    @XmlElement
    public Date getClinicDt() {
        return clinicDt;
    }

    public void setClinicDt(Date clinicDt) {
        this.clinicDt = clinicDt;
    }

    @XmlElement
    public String getPickFlag() {
        return pickFlag;
    }

    public void setPickFlag(String pickFlag) {
        this.pickFlag = pickFlag;
    }

    @XmlElement
    public Date getPickDt() {
        return pickDt;
    }

    public void setPickDt(Date pickDt) {
        this.pickDt = pickDt;
    }

    @XmlElement
    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    @XmlElement
    public String getRegType() {
        return regType;
    }

    public void setRegType(String regType) {
        this.regType = regType;
    }

    @XmlElement
    public String getPlanTime() {
        return planTime;
    }

    public void setPlanTime(String planTime) {
        this.planTime = planTime;
    }

    @XmlElement
    public String getRegWay() {
        return regWay;
    }

    public void setRegWay(String regWay) {
        this.regWay = regWay;
    }

    @XmlElement
    public String getRegUser() {
        return regUser;
    }

    public void setRegUser(String regUser) {
        this.regUser = regUser;
    }

    @XmlElement
    public String getRegPwd() {
        return regPwd;
    }

    public void setRegPwd(String regPwd) {
        this.regPwd = regPwd;
    }

    @XmlElement
    public String getRegRecordId() {
        return regRecordId;
    }

    public void setRegRecordId(String regRecordId) {
        this.regRecordId = regRecordId;
    }

    public String getRegPhoneNo() {
        return regPhoneNo;
    }

    public void setRegPhoneNo(String regPhoneNo) {
        this.regPhoneNo = regPhoneNo;
    }


    public String getWorkId() {
        return workId;
    }

    public void setWorkId(String workId) {
        this.workId = workId;
    }

    public String getUserCardType() {
        return userCardType;
    }

    public void setUserCardType(String userCardType) {
        this.userCardType = userCardType;
    }

    public String getUserCardNo() {
        return userCardNo;
    }

    public void setUserCardNo(String userCardNo) {
        this.userCardNo = userCardNo;
    }

    public String getUserIdentityType() {
        return userIdentityType;
    }

    public void setUserIdentityType(String userIdentityType) {
        this.userIdentityType = userIdentityType;
    }

    public String getUserIdentityNo() {
        return userIdentityNo;
    }

    public void setUserIdentityNo(String userIdentityNo) {
        this.userIdentityNo = userIdentityNo;
    }

    public String getCardSource() {
        return cardSource;
    }

    public void setCardSource(String cardSource) {
        this.cardSource = cardSource;
    }

    public String getNationnality() {
        return nationnality;
    }

    public void setNationnality(String nationnality) {
        this.nationnality = nationnality;
    }

    public String getUserCardSource() {
        return userCardSource;
    }

    public void setUserCardSource(String userCardSource) {
        this.userCardSource = userCardSource;
    }

    public String getUserNationnality() {
        return userNationnality;
    }

    public void setUserNationnality(String userNationnality) {
        this.userNationnality = userNationnality;
    }

    @XmlJavaTypeAdapter(DateTimeAdapter.class)
    public Date getRegDt() {
        return regDt;
    }

    public void setRegDt(Date regDt) {
        this.regDt = regDt;
    }

    public String getSource() {
        return source;
    }

    public void setSource(String source) {
        this.source = source;
    }
}
